<?php
namespace CAI\HistoricoBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\InheritanceType("JOINED")
 * @ORM\DiscriminatorColumn(name="personas_disc", type="string")
 * @ORM\DiscriminatorMap({"persona" = "Persona", "tecnico" = "Tecnico", "arbitro" = "Arbitro"})
 * @ORM\Table(name="personas")
 */
class Persona
{
	/**
	 * @ORM\Column(type="integer")
	 * @ORM\Id
	 */
	protected $personas_id;
	
	/**
	 * @ORM\Column(type="string")
	 */
	protected $personas_nombre;
	
	/**
	 * @ORM\Column(type="string")
	 */
	protected $personas_apellido;
	
	/**
	 * @ORM\Column(type="date")
	 */
	protected $personas_fecha_nac;

	/**
	 * @ORM\OneToOne(targetEntity="Pais")
	 * @ORM\JoinColumn(name="paises_id", referencedColumnName="paises_id")
	 */
	private $pais;

	/*
	 * Este método es necesario para poder usar la entity en un form
	* y llenar un select por query
	*/
	public function __toString()
	{
		return $this->personas_nombre." ".$this->personas_apellido;
	}
	

    /**
     * Set personas_id
     *
     * @param integer $personasId
     * @return Persona
     */
    public function setPersonasId($personasId)
    {
        $this->personas_id = $personasId;

        return $this;
    }

    /**
     * Get personas_id
     *
     * @return integer 
     */
    public function getPersonasId()
    {
        return $this->personas_id;
    }

    /**
     * Set personas_nombre
     *
     * @param string $personasNombre
     * @return Persona
     */
    public function setPersonasNombre($personasNombre)
    {
        $this->personas_nombre = $personasNombre;

        return $this;
    }

    /**
     * Get personas_nombre
     *
     * @return string 
     */
    public function getPersonasNombre()
    {
        return $this->personas_nombre;
    }

    /**
     * Set personas_apellido
     *
     * @param string $personasApellido
     * @return Persona
     */
    public function setPersonasApellido($personasApellido)
    {
        $this->personas_apellido = $personasApellido;

        return $this;
    }

    /**
     * Get personas_apellido
     *
     * @return string 
     */
    public function getPersonasApellido()
    {
        return $this->personas_apellido;
    }

    /**
     * Set personas_fecha_nac
     *
     * @param \DateTime $personasFechaNac
     * @return Persona
     */
    public function setPersonasFechaNac($personasFechaNac)
    {
        $this->personas_fecha_nac = $personasFechaNac;

        return $this;
    }

    /**
     * Get personas_fecha_nac
     *
     * @return \DateTime 
     */
    public function getPersonasFechaNac()
    {
        return $this->personas_fecha_nac;
    }

    /**
     * Set pais
     *
     * @param \CAI\HistoricoBundle\Entity\Pais $pais
     * @return Persona
     */
    public function setPais(\CAI\HistoricoBundle\Entity\Pais $pais = null)
    {
        $this->pais = $pais;

        return $this;
    }

    /**
     * Get pais
     *
     * @return \CAI\HistoricoBundle\Entity\Pais 
     */
    public function getPais()
    {
        return $this->pais;
    }
}
